﻿/*

文件名称:MenuButton.js
文件描述:菜单按钮权限
设计作者:罗向林
编码作者:罗向林
完成日期:2016-05-31

*/
var menuButton=[];

function GetUrlParam() {
    var url = window.location.search;
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for (var i = 0; i < strs.length; i++) {
            theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1]);
        }
    }
    return theRequest;
}

/**
 * 根据当前菜单获取 该菜单页面的按钮数据
 */
function getMenuButton() {
    if(isEmpty(menuButton)||menuButton.length===0){
        var menuId = getUrlParam("menuid");
        ajaxProcess({
            url:'/bfs/bfs/button/list',
            requestType : 'POST',
            async:false,
            data:{
                menuId:menuId
            },
            successHandle : function(data) {
                menuButton=data.data;
            }
        });
    }
    return menuButton;
}

/**
 * 设置菜单按钮的权限;
 * 调用该方法，能完成访问后台按钮数据，并进行按钮显示隐藏的作用。
 */
function setMenuButtonOpermission(){
    getMenuButton();
    menuButtonOpermission(menuButton.buttons,menuButton.operButtons);
}

function loadMenuButton() {
    var menuId = getUrlParam("menuid");
    ajaxProcess({
        url:getProjectUrl('/bfs/button/list'),
        requestType : 'POST',
        async:false,
        data:{
            menuId:menuId
        },
        successHandle : function(data) {
            data = JSON.parse(data);
            menuButtonOpermission(data.data.buttons,data.data.operButtons);
        }
    });
}

function menuButtonOpermission(menus, perMenu) {
    if (menus != null && menus.length > 0) {
        for (var i = 0; i < menus.length; i++) {
            $("#" + menus[i].buttonCode).hide();
            $('button[name="' + menus[i].buttonCode + '"]').hide();
            $('a[name="' + menus[i].buttonCode + '"]').hide();
        }
    }

    if (perMenu != null && perMenu.length > 0) {
        for (var i = 0; i < perMenu.length; i++) {
            $("#" + perMenu[i].buttonCode).show();
            $('button[name="' + perMenu[i].buttonCode + '"]').show();
            $('a[name="' + perMenu[i].buttonCode + '"]').show();
        }
    }
}
